package mybox.engine.servo;


import mybox.engine.Circle;
import mybox.engine.Figur;
import mybox.engine.File4Qcad;
import mybox.engine.QVector;
import mybox.engine.Rectangle;

public class StandardServo implements Figur {
	
	
	public QVector centerUR;
	public QVector lowerLeftUR;
	public QVector upperRightUR;
	public static double langeSeite=41.6;
	public static double breiteSeite=20;
	
	
	//vom center weg  
	public double befestigungsLochRadius=2;
	public double befestigunsLochXOffset=23.75;
	public double befestingsLochYOffset=4.875;
	Circle[] befestiungsLoecher = new Circle[4];
	
	Circle servoRad;
	public static double servoRadLochRadius=3.425;
	Circle zahnradLoch;
	public static double zahnradLochRadius=1.35; 
	boolean onlyZahnradLoch;
	
	
	public Rectangle servoUmrahmung;
	public StandardServo(File4Qcad file4qcad, QVector center, boolean onlyZahnradLoch) {
		 centerUR=center;
         lowerLeftUR=new QVector(center.x-langeSeite/2, center.y-breiteSeite/2);
         upperRightUR= new QVector(center.x+langeSeite/2, center.y+breiteSeite/2);
		 servoUmrahmung = new Rectangle(file4qcad, lowerLeftUR, upperRightUR);
		 
		 befestiungsLoecher[0]=new Circle(file4qcad, new QVector(center.x-befestigunsLochXOffset, center.y-befestingsLochYOffset), befestigungsLochRadius);
		 befestiungsLoecher[1]=new Circle(file4qcad, new QVector(center.x+befestigunsLochXOffset, center.y-befestingsLochYOffset), befestigungsLochRadius);
		 befestiungsLoecher[2]=new Circle(file4qcad, new QVector(center.x+befestigunsLochXOffset, center.y+befestingsLochYOffset), befestigungsLochRadius);
		 befestiungsLoecher[3]=new Circle(file4qcad, new QVector(center.x-befestigunsLochXOffset, center.y+befestingsLochYOffset), befestigungsLochRadius);
		 
		 servoRad = new Circle(file4qcad, new QVector(center.x+10.425, center.y), servoRadLochRadius);
		 
		 zahnradLoch = new Circle(file4qcad, new QVector(center.x+10.425+23.6779, center.y), zahnradLochRadius);
		 this.onlyZahnradLoch=onlyZahnradLoch;
				
		}
		
	
	@Override
	public void draw() {
		if (!onlyZahnradLoch) {
			servoUmrahmung.draw();		
			for (Circle loch:befestiungsLoecher) loch.draw();
		}
	    zahnradLoch.draw();
	    servoRad.draw();
		
	}
	

}
